Methods and apparatus for additive manufacturing with molten glass

ABSTRACT

A nozzle deposits a filament of viscous, molten glass onto a print bed, while the print bed rotates about a vertical axis and translates in x, y, and z directions. The deposition is computer controlled, such that the resulting deposited filament forms a desired glass object that is solid after it anneals. One or more motors rotate the print bed such that the direction of deposition of the molten glass is constant relative to the nozzle, even though the print bed is translating in different directions relative to the nozzle. Keeping the direction of deposition constant relative to the nozzle tends to prevent the extruded filament of molten glass from experiencing large, changing, tensile and shear forces that would otherwise occur and that would otherwise damage the filament.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/321,387, filed Apr. 12, 2016, the entire disclosureof which is herein incorporated by reference.

FIELD OF TECHNOLOGY

The present invention relates generally to additive manufacturing withmolten glass.

COMPUTER PROGRAM LISTING

Attached are fourteen computer program files, each created as a .txtfile on Oct. 14, 2016: (1) G3P_V2_Rhino_GH_SurfaceSlicer.txt with a sizeof about 3 KB; (2) G3P_V2_Rhino_GH_Bi-TangentArc.txt with a size ofabout 10 KB; (3)G3P_V2_Rhino_GH_Bi-TangentArc_with_RotationalBifurcation.txt with a sizeof about 18 KB; (4) G3P_V2_Rhino_GH_LinearTranslationAlongZ-Axis.txtwith a size of about 2 KB; (5) G3P_V2_Rhino_GH_CurveDiscretization.txtwith a size of about 2 KB; (6) G3P_V2_Rhino_GH_4Axis_Transformation.txtwith a size of about 12 KB; (7) G3P_V2_Rhino_GH_SpiralInterpolation.txtwith a size of about 3 KB; (8)G3P_V2_Rhino_GH_4Axis_Gcode_Generation.txt with a size of about 4 KB;(9) G3P_V2_Chilipeppr_01.txt with a size of about 4 KB; (10)G3P_V2_Chilipeppr_02.txt with a size of about 9 KB; (11)G3P_V2_Chilipeppr_03.txt with a size of about 1 KB; (12)G3P_V2_Chilipeppr_04.txt with a size of about 4 KB; (13)G3P_V2_Firmware_MotorMonitor_h.txt with a size of about 1 KB; and (14)G3P_V2_Firmware_MotorMonitor_cpp.txt with a size of about 5 KB. Thesefourteen computer program files comprise source code for softwareemployed in a prototype implementation of this invention. These fourteencomputer program files are each incorporated by reference herein.

SUMMARY

In illustrative implementations of this invention, a fabrication system(“glass 3D printer”) fabricates glass objects. The glass 3D printer mayinclude a stationary nozzle and a moving print bed. The nozzle maydeposit a filament of viscous, molten glass onto a print bed, while theprint bed rotates about a vertical axis and translates in x, y, and zdirections. The deposition is computer controlled, such that theresulting deposited filament forms a desired glass object.

This invention solves a technological problem that tends to occur underthe extreme temperature conditions of fabricating with molten glass.Under these extreme conditions, the extruded molten glass filamentremains viscous for a period of time after being extruded from thenozzle. During the time that the molten glass filament remains viscousafter being extruded, the filament is subject to being damaged by large,changing forces exerted by the nozzle on the filament if the directionof deposition of the molten glass changes with respect to theorientation of the nozzle.

Thermoplastic polymer (such as ABS or PLA) filaments that are used inconventional fused deposition model (FDM) based 3D printers require muchlower operation temperature during their deposition. They are also muchsmaller in size in terms of the cross-sectional area. This combinationof lower operation temperature and smaller thermal mass allows these FDMfilaments to cool down in a much shorter period of time and thereforeprovides a greater degree of flexibility in printing free-form geometrywithout being damaged.

In contrast, for molten glass extrusion, given the higher operationtemperature and larger filament diameter, cooling rates are typicallymuch slower and the time in which the filament stays viscous and proneto damage is longer. For molten glass printing, due to its relativelylarge filament size and its thermal inertia, it takes long time (over aperiod of minutes) before the filament cools down. During this coolingperiod, any external forces the filament experiences may cause a delayedresponse due to the high viscosity of the molten glass or internal shearforces in the molten glass.

Thus, for molten glass printing, the following technological problemoccurs, unless corrective action is taken: The extruded, viscoelasticfilament of molten glass is subjected to large, changing tensile andshear forces. These large, changing forces are created by the print bed(on which the extruded filament is resting) moving in changingdirections relative to the nozzle. These large, changing forces maycreate defects in the still viscous filament of molten glass—and mayeven cause layers of extruded molten glass to separate from each other.

This technological problem (of large, changing shear and tensile forcesdue to the print bed moving in changing directions relative to thenozzle) is exacerbated by the fact that during 3D fabrication withmolten glass, the nozzle tends to “smear” as hardened glass builds up onthe nozzle. Molten glass tends to adhere to many types of material,including glass itself. This smearing causes the nozzle to becomeasymmetrical and becomes a part of effective nozzle profile during thedeposition of the molten glass. As the moving print bed changesdirection, the cross-sectional shape of the asymmetrical nozzle—in across-sectional plane perpendicular to the direction of movement of theprint bed—changes as the print bed changes direction relative to theasymmetrical nozzle. This causes tensile and shear forces exerted by thenozzle on the extruded glass filament to change sharply as the print bedmoves in different directions relative to the nozzle.

Unless corrective action is taken, these large forces change directionover time with respect to parts of the filament that remain soft (as theprint bed moves in changing directions relative to the nozzle), creatingmild to catastrophic defects in the filament.

The following is a non-limiting example of the above technologicalproblem that would occur, if corrective action were not taken. In thisexample: (a) hardened glass builds up asymmetrically on the nozzle,causing the shape of the nozzle to be “smeared”; (b) the print bed movesin a first horizontal direction relative to a stationary nozzle, andthen moves in a curving horizontal trajectory until it is moving in asecond horizontal direction at a ninety degree angle from the firstdirection; (c) the asymmetrical buildup on the nozzle causes the nozzleto have a changing cross-section (in a cross-sectional plane that isperpendicular to the then current direction of travel of the print bed)as the print bed changes direction relative to the nozzle; and (d) thechanging direction of motion of the print bed relative to the nozzle,and the changing cross-section of the nozzle (perpendicular to the thencurrent direction of travel of the print bed), taken together, causelarge, changing forces to be exerted on the viscoelastic filament ofmolten glass, which lead to print defects.

In illustrative implementations of this invention, these problems aregreatly mitigated by the following corrective measure: A motor rotatesthe print bed to keep the direction of deposition at a constant anglerelative to the stationary nozzle, even while the print bed istranslated in different directions relative to the nozzle. Specifically,motors cause the print bed to rotate, while the print bed translates inx, y or z directions. The rotation of the print bed keeps the directionof deposition (i.e., the horizontal direction in which the moltenfilament is being deposited on the print bed) constant relative to thenozzle. The print bed rotates about a vertical axis that intersects apoint in the print bed (such as a point that is the horizontal centroidof the print bed).

This corrective measure (rotating the print bed to keep the direction ofdeposition constant relative to the nozzle) solves (or greatlymitigates) the above technological problem for at least two reasons:First, because the direction of deposition does not change relative tothe nozzle, the forces exerted by the nozzle on the extruded filament(which are usually primarily along the longitudinal axis of thefilament) are constant in direction. The feed rate may also be keptconstant. Keeping the feed rate constant and the direction of deposition(relative to the nozzle) constant may cause the forces exerted by thenozzle on the filament to be constant in magnitude and direction, andthus prevent layers of filament from being pulled apart from each other.Second, if asymmetrical buildup occurs on the nozzle, the nozzle'scross-section (perpendicular to the direction of motion) does not changeas a result of changes in the trajectory of the print bed—because theprint bed is rotated to keep the direction of deposition constantrelative to the nozzle.

Thus, in illustrative implementations of this invention, a correctivemeasure is taken: One or motors rotate the print bed about a verticalaxis that intersects the print bed, while translating the print bed inx, y and z directions. The rotation causes the direction of depositionto be constant relative to the nozzle, despite the fact that the printbed is translating in different directions relative to the nozzle. Thistends to prevent the nozzle from exerting changing forces on thefilament that would otherwise occur (and damage the extruded filament)if this corrective measure were not taken.

In illustrative implementations, the glass 3D printer includesheating/cooling hardware and motion actuators. The heating/coolinghardware comprises: (a) a crucible kiln for heating feed stock intomolten glass; (b) a nozzle kiln and gas torch/compressed air system forheating or cooling the nozzle; and (c) a build chamber kiln for keepingthe extruded, molten glass at a high temperature during the buildprocess (deposition of filament). These heating/cooling components arephysically independent but digitally integrated using a central thermalprofile control system. The crucible kiln, nozzle kiln and nozzle areeach positioned above the print bed and the actuators for the print bed.The motion actuators comprise a four-axis CNC motion system thatactuates the print bed to move in three Cartesian spatial dimensions (x,y, z) and to rotate about a vertical axis.

In illustrative implementations, the glass 3D printer may provide atleast seven degrees of control in the deposition of glass materials:four degrees of motion control (x, y, z, and rotation about a verticalaxis), and three degrees of temperature/viscosity control. These sevendegrees of freedom may be addressed with custom designed G-codes thatmap the desired temperature across the manufacturing platform to eachpoint of any given geometry in space as it generates the motion path ofthe platform.

In illustrative implementations of this invention, the glass 3D printerincludes an integrated digital thermal control system, with oneprocessing unit addressing the melting zone (in the crucible kiln), theflow control zone (in the nozzle kiln), and the build zone (in the buildchamber kiln). The thermal control is also integrated with the motioncontrol. One or more computers may perform integrated motion andtemperature control in such a manner as to control, and to change,viscosity during fabrication of a single glass object. Changing theviscosity allows for printing different degrees of curvature, overhang,cross-section profile, and print speeds.

In illustrative implementations, the glass 3D printer includes amultifunctional nozzle assembly. The nozzle assembly includes aresistive, concentric heating element to control temperature of thenozzle, a concentric gas torch that doubles as a compressed air nozzlefor even faster temperature manipulation of the nozzle (also used as astart and stop control), and a set of automated shears for mechanicalmanipulation of material. Controlling the nozzle temperature helps tocontrol the temperature, and thus the viscosity, of the molten glassbeing extruded through the nozzle.

The description of the present invention in the Summary and Abstractsections hereof is just a summary. It is intended only to give a generalintroduction to some illustrative implementations of this invention. Itdoes not describe all of the details and variations of this invention.Likewise, the description of this invention in the Field of Technologysection is not limiting; instead it identifies, in a general,non-exclusive manner, a technology to which exemplary implementations ofthis invention generally relate. Likewise, the Title of this documentdoes not limit the invention in any way; instead the Title is merely ageneral, non-exclusive way of referring to this invention. Thisinvention may be implemented in many other ways.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows hardware for actuating movement of a print bed.

FIG. 2 shows an apparatus for 3D printing with molten glass.

FIG. 3 shows an exploded view of a nozzle assembly.

FIG. 4 shows an exploded view of hardware for a 3D glass printer.

FIG. 5 shows an example of print bed motion.

FIGS. 6A, 6B and 6C, taken together, are a flowchart for an overallprocess of glass 3D printing. FIG. 6A lists material handling steps thatoccur in the method. FIG. 6B lists thermal control steps that occur inthe method. FIG. 6C lists motion control steps that occur in the method.

FIG. 7 is a flowchart of a method of motion control.

FIGS. 8 and 9 show an example of rotating a print bed to keep thedirection of deposition constant relative to the nozzle. FIG. 8 showsthe print bed's position at an earlier time than FIG. 9 does.

FIGS. 10A and 10B illustrate the effect of varying the direction ofdeposition relative to an asymmetrical “smeared” nozzle. FIG. 10A showsa bottom view of the “smeared” nozzle. FIG. 10B shows how a viscoelasticfilament deposited in a circular path by the “smeared” nozzle wouldchange in width at different points in the path.

FIGS. 11A and 11B illustrate the effect of varying the direction ofdeposition relative to an asymmetrical rectangular nozzle. FIG. 11Ashows a bottom view of the rectangular nozzle. FIG. 11B shows how aviscoelastic filament deposited in a circular path by the rectangularnozzle would change in width at different points in the path.

FIGS. 12A and 12B illustrate the effect of varying the direction ofdeposition relative to an asymmetrical double-orifice nozzle. FIG. 12Ashows a bottom view of the double-orifice nozzle. FIG. 12B shows how aviscoelastic filament deposited in a circular path by the double-orificenozzle would change in width at different points in the path.

FIGS. 13A, 13B, and 13C show examples of keeping the direction ofdeposition at a constant angle relative to a stationary nozzle. In FIGS.13A, 13B, 13C, the nozzle is asymmetrical. In FIGS. 13A, 13B, 13C, thenozzle has a “smeared” shape, a rectangular shape and double-orificeshape, respectively.

FIGS. 13A, 13B, 13C show that a viscoelastic filament deposited in acircular path has a constant width—if the print bed is rotated to keepthe direction of deposition at a constant angle relative to thestationary nozzle.

The above Figures show some illustrative implementations of thisinvention, or provide information that relates to those implementations.However, this invention may be implemented in many other ways.

DETAILED DESCRIPTION

In illustrative implementations of this invention, a glass 3D printer200 extrudes a viscoelastic filament of molten glass, while rotating andtranslating a print bed. The motion of the print bed during theextrusion causes the filament to be deposited in a spatial pattern so asto fabricate a desired glass object.

FIG. 1 shows hardware for actuating movement of a print bed, in anillustrative implementation of this invention. Five servo motors 104,106, 108, 110, 112, taken together, actuate linear motion of the printbed 101 in x, y and z Cartesian directions and actuate rotation of theprint bed 101. The print bed 101 is supported by a vertical support tube102, which rests on a rotary table 103. The print bed 101, verticalsupport tube 102 and the rotary table 103 each rotate about a verticalaxis that intersects the center of the print bed 101. The vertical axiscoincides with a longitudinal axis of the vertical support tube 102.This vertical axis (about which the print bed rotates) is sometimesreferred to herein as the “A-axis”. As the print bed moves in the x andy directions, the position of the A-axis (relative to the nozzle)changes. Servo motor 104 actuates the rotation (of the print bed,vertical support and rotary table) about the A-axis. Two servo motors110, 112 actuate x-axis horizontal motion of the print bed 101, and twolinear motion guides 109, 111 guide this x-axis motion. Servo motor 108actuates y-axis horizontal motion of the print bed 111, and linearmotion guide 107 guides this y-axis motion. Servo motor 112 actuatesz-axis vertical motion of the print bed, and linear motion guide 105guides this z-axis motion. Each of the linear motion guides may includeone or more ball bearings.

In the example shown in FIG. 1, the five servo motors 104, 106, 108,110, 112 may be controlled by, and provide feedback to, microcontroller132. This microcontroller may be housed in a separate motor controlmodule 133. The motor control module 133 may include power supplyhardware 135 that supplies power to the respective servo motors.Microcontroller 132 may control this power supply hardware 135, and thuscontrol the power supplied to the respective servo motors. Cables 141,142, 143, 144, 145 to each of the five motors, respectively, includewires for transmitting data and other wires for transmitting power. InFIG. 1, microcontroller 132 sends identical control signals to controlboth of the x-axis motors 110, 112.

In illustrative implementations, each of the five servo motors is abrushless servo motor with embedded encoder and embedded servo drive.The embedded servo drive for each motor outputs a real-time feedbacksignal that specifies the motor's position, velocity, torque, and errorcount at any given time. All five motors may be communicativelyconnected to a single microprocessor (e.g., 132) that receives thereal-time feedback signals from the five motors and thereby monitors theindividual state of each motor. This microprocessor may becommunicatively connected to a Chilipeppr interface to achieve acomplete closed-loop dataflow between a G-code processor and eachindividual motor.

In illustrative implementations of this invention, four axis motioncontrol is well-suited for handling the viscoelasticity of molten stockmaterial. In some cases, not only is a point in the path given threeposition vectors (in Cartesian x, y, and z directions) but also anangular dimension is applied to the nozzle and this is pinned to thetangent vector of the design itself. In doing this, any forces appliedto the soft filament by the extrusion head will pull along its majoraxis at every point, allowing for dampening of the force without movingthe filament from its position. In some implementations, any forcesapplied by randomly distributed excess glass on the nozzle tip will besubject to that directional constraint.

The glass 3D printer may include at least three actuators for linearorthogonal motion in x axis, y axis, and z axis, and one rotary printbed for angular motion about a vertical axis, and may be driven by anytype of motion generators (electric motors translated by screws orbelts, linear motors, pneumatic actuators, etc.) and by any four-axismotion control system.

In a prototype of this invention: (a) the prototype hardware includesfour 450 mm stroke linear rails housing precision ground ball screws andone geared rotary table; (b) all five motion stages are driven by 0.3 hpservomotors controlled by a multi-axis open source motor driver; (c) themotion and control translate to the four axis positioning of the printbed itself and by extension, the extruded glass part, leaving no motionassigned to the extrusion head; and (d) this contributes to theminimization of unpredictable viscous flow by reducing the amount ofmolten material that undergoes any acceleration.

FIG. 2 shows apparatus for 3D printing with molten, viscous glass, in anillustrative implementation of this invention. In FIG. 2, a cruciblekiln 201 melts the glass. The crucible kiln is sometimes referred toherein as a “melter kiln”. A crucible 208 is located inside the cruciblekiln and holds glass (e.g., molten glass). A nozzle assembly 203includes a nozzle for extruding a filament of viscous, molten glass, agas torch/compressed air system for heating and cooling the nozzle, andshears for cutting the filament. A nozzle kiln 205 surrounds the nozzleassembly 203 and provides additional temperature control for the nozzleassembly. The nozzle deposits a filament of molten glass unto the printbed 101. A build chamber kiln 209 surrounds the print bed 101 and themolten glass that is deposited on the print bed. The build chamber kiln209 keeps the deposited glass at a high temperature during the buildprocess (as successive layers of viscous glass are deposited). In someimplementations, the build chamber kiln is also used for annealing (andthus also functions as an annealing kiln). During annealing, thetemperature of the glass is slowly lowered over a period of hours, asinternal stress (due to internal temperature gradients) is relieved.Alternatively, in some cases, annealing may be performed in a separateannealing kiln, which is separate from the build chamber kiln. Thisallows for another 3D print to begin, without waiting for the annealingto be completed.

In FIG. 2, a four-axis actuation system 211 actuates x, y, z and rotarymotion of the print bed 101. The actuation system 211 includes servomotors and linear motion guides. A microcontroller 132 controls theservo motors. An insulative skirt 241 at the bottom of the build chamberkiln 209 protects the actuation system 211 from the heat of the buildchamber kiln. The protective skirt 241 fits closely around the verticaltube 102 that supports the printer bed 101, and accommodates movement ofthe vertical tube 102 (which moves in order to translate and rotate theprint bed 101).

In FIG. 2, heating elements (e.g., 223, 225, 227) are located in thewalls of the crucible kiln 201, nozzle kiln 205, and build chamber kiln209, respectively. The heating elements heat these three kilns. Amicrocontroller 229 controls the heating elements (e.g., 223, 225, 227)in the walls of the kilns. Thermocouples 233, 235, 237 measuretemperature of the kilns, and output temperature readings that providefeedback to microcontroller 229.

In some implementations, the microcontroller 229 performs a proportionalintegral derivative (PID) algorithm that: (a) controls the powersupplied to heating elements located in or adjacent to the walls of thekilns; and (b) controls the power supplied to a resistive heatingelement (e.g., 303, shown in FIG. 3) that directly surrounds the nozzle.The microcontroller 229 may control the gas torch/compressed air systemthat heats and cools the nozzle (e.g., by turning that system on andoff). Alternatively, a set of multiple microcontrollers may performthese functions.

In FIG. 2, a computer 120 controls and interfaces with microcontrollers132, 229. Computer 120 also controls one or more input/output (I/O)devices that output information in a form that is perceptible to ahuman, such as a touch screen 125, a speaker 126, or a computer monitorscreen 127. The computer 120 controls and interfaces with one or moreI/O devices that receive input from a human user, such as a keyboard121, mouse 122, microphone 123, camera 124, and touch screen 125. Thecomputer 120 may interface with (i) a wireless communication module 130,(ii) a network communication module 131 for communication over a wire orfiber-optic link, or (iii) both. The computer 120 may store data in andretrieve data from a memory device 128.

In illustrative implementations, one or more computers performintegrated temperature control in multiple regions, including themelting zone, flow control zone, build zone, and (in those cases inwhich a separate annealing chamber is used) an annealing zone. Theparameters for temperature control for each of the temperature zones mayinclude: set temperature (i.e., target temperature), ramp rate, currenttemperature, and PID control parameters. In some implementations, a kilnmay contain multiple, separately controlled temperature zone that arevertically stacked. For example, for a large print project, thetemperature in a top region of the build chamber may be set or rampeddifferently than in a lower region of the build chamber.

In illustrative implementations, the glass 3D printer includes anintegrated digital thermal control system, with one processing unitaddressing the multiple zones, including the melting zone (in thecrucible kiln), the flow control zone (in the nozzle kiln), the buildzone (in the build chamber kiln) and, if a separate annealing chamber isemployed, an annealing zone. The temperature control system takesmultiple temperature inputs per zone, and outputs a PID duty cycle forthe power supplied to the heating elements. This allows for precisetemperature and viscosity control throughout the fabrication process.Furthermore, the temperature control may also be integrated into thedesign geometry as another toolpath parameter. A point in the toolpathmay also provide a temperature or viscosity designation, and the motorcontrol system may address the PID control for the heating system in anyzone and synchronously with four axis position.

In illustrative implementations, filament profile shape, layer adhesion,and internal stress may all be controlled through temperature/viscosity.This temperature control may facilitate 3D printing with molten glass:(a) to form complex flying truss forms between layered filaments; (b) tocontrol curvature of each filament and thus to control opticalproperties of each filament; or (c) to create other complex thermallydependent geometries. In some cases, the temperature control systemcauses a mismatch between the internal temperature and surfacetemperature of deposited glass, in order to produce tempered glass.(Advantageously, tempered glass may be stronger than un-tempered glass).

In some implementations, material properties of the glass may varyspatially within the glass, and a computer may assign materialproperties to voxels. By spatially varying material properties or byvarying temperature, the glass 3D printer may achieve a wide range ofeffects. For example, for a given viscosity, the working temperature forcolored glass may be different than for clear glass. Thus, thetemperature for colored glass may be different than for clear glass, inorder to achieve the same viscosity. Or temperatures may be matchedwhile viscosities (of the clear glass and colored glass) differ,allowing for different kinds of features in the same print job.

In a prototype of this invention, power management is centralized aWatlow® EZ-Zone RM Integrated Controller from Watlow. The EZ-Zone RMIntegrated Controller is a scalable architecture with its modular systemand accommodates a communication with various I/O (input/output)interfaces.

The glass 3D printer may include a touch screen (e.g., 125) thatdisplays front end single cohesive UI (user interface) for thermalcontrol.

In illustrative implementations, the glass 3D printer may include amultifunctional nozzle assembly that facilitates accurate flow controlat high temperatures (up to 1200° C.). The glass 3D printer may alsoinclude auxiliary rapid heating and rapid cooling equipment in the formof gas torches and forced air, and a mechanical shearing mechanism, foradditional filament manipulation. The nozzle may comprise alumina. Thenozzle may be surrounded by a silicon carbide resistive tube heaterproviding fast response primarily by radiant heating. Temperature of theface and orifice of the nozzle may be rapidly changed by auxiliaryequipment in the form of a concentric ring of gas burning torches and aconcentric ring of compressed air nozzles. The addition of a torch basedheating mechanism and a compressed air based cooling system may providethe capability to induce fast thermal changes in the system. Thisheating/cooling mechanism for the nozzle assembly has at least twobenefits. First, it may rapidly heat and cool molten glass in the nozzleassembly, and thereby control rate of flow of molten glass through thenozzle (including starting or stopping the flow of molten glass throughthe nozzle). Second, the positive heat flux from the gas burning torches(or negative from compressed air) may be applied in addition to the heatflux from the nozzle kiln heating elements to more precisely control thethermal history of each voxel of material that is printed. In aprototype of this invention, the heating and cooling elements for thenozzle assembly are structurally supported by a ceramic-glass fibercomposite fitted into a silicon carbide plate. These may be hightemperature structural ceramic materials used to prevent thermaldegradation or creep in the glass melting environment, and thus mayensure consistent position accuracy for the nozzle assembly over thelife of the machine. As a mechanical actuator for flow control,automated shears may be used on the glass filament just below the nozzleto separate (e.g., at the end of a build) stock material in the nozzlefrom the solidifying part.

FIG. 3 shows an exploded view of, among other things, a nozzle assembly,in an illustrative implementation of this invention. In FIG. 3, nozzleassembly 300 comprises materials (including refractory materials) thatare well-suited to operate at high temperatures. The nozzle assembly 300includes a ceramic nozzle 301 and a support member 302 that supports thenozzle. A silicon carbon resistive heating element 303 heats the nozzle.A ceramic fiber composite housing 305 houses the nozzle 301, supportmember 302 and heating element 303. Tubing 307 has a dual functionality:(a) at some times, it functions a concentric gas torch for heating thenozzle and (b) at other times, it functions as a compressed air deliverysystem for cooling the nozzle. Automated shears 309 may cut the filamentthat is extruded by the nozzle. For example, at the completion of abuild for a glass object, the shears 309 may cut the extruded filament,to separate the glass in the nozzle from the deposited glass that formsthe fabricated object. The nozzle assembly 300 may be located inside thenozzle kiln 205 that is shown in FIG. 2.

In some implementations, the gas nozzle is used to remove built-up glassfrom the nozzle. To do so, the gas torch at times heats the nozzlesufficiently to melt glass that has built up on the nozzle.

FIG. 4 shows an exploded view of hardware for a 3D glass printer, in anillustrative implementation of this invention. The glass 3D printerincludes an upper support frame 401 and a lower support frame 402. Aheating system 403 surrounds a melt chamber 404. A nozzle heatingsuperstructure 405 surrounds a nozzle assembly 300. An insulation panel406 is located between the melt chamber and build chamber. A heatedbuild chamber 407 surrounds a print bed 101. An insulative skirt 241fits around the vertical support for the print bed 101 and separates theheated build chamber 407 from an actuator system that actuates motion ofthe print bed. The heated build chamber 407 is located above theactuator system. The actuator system includes two x-axis actuators 421,422, an y-axis actuator 423, and a z-axis actuator 424. The x-axis,y-axis, and z-axis actuators each include a servo motor and a linearmotion guide with one or more ball bearings. The actuator system alsoincludes an “A-axis” actuator 425 for actuating rotation of the printbed about a vertical “A-axis” that intersects the print bed. The A-axisactuator 425 includes a server motor and a rotary table.

FIG. 5 shows an example of both translational and rotational motion of aprint bed, in an illustrative implementation of this invention. In FIG.5, a print bed 101 is translated from an initial position at an initialtime, to a later position at a later time. In FIG. 5, the dashed linesindicate the initial position of the print bed 101, and the solid linesindicate the later position of the print bed 101. The horizontalcentroid of the print bed is located at point 501 at the initial timeand at point 503 at the later time.

In the example shown in FIG. 5, the print bed 101 undergoes horizontaltranslation in both the x-axis and y-axis direction, as it travels fromthe initial position to the later position. In the top view of FIG. 5,this horizontal translation appears to move the centroid of the printbed down and to the left in FIG. 5. Arrow 505 shows the trajectory ofthe print bed's centroid (relative to an external fixed position) as thecentroid undergoes horizontal translation from point 501 at the initialtime to point 503 at the later time.

In the example shown in FIG. 5, the print bed rotates at the same timethat it undergoes horizontal translation. The rotation causes thehorizontal angular orientation of print bed to change by angle R. Therotation is about a vertical axis that intersects the horizontalcentroid of the print bed 101. In the top view shown in FIG. 5, theprint bed appears to rotate clockwise about its centroid as ittranslates down and to the left.

FIGS. 6A, 6B and 6C, taken together, are a flowchart for an overallprocess of glass 3D printing, in an illustrative implementation of thisinvention. FIG. 6A lists material handling steps that occur in themethod. FIG. 6B lists thermal control steps that occur in the method.FIG. 6C lists motion control steps that occur in the method.

In FIG. 6A, the material handling steps include: Input glass to melterkiln (Step 601). Extrude viscous, molten glass (Step 602). Optionally,send deposited glass to separate annealer (Step 603). Anneal extrudedglass (e.g., 2 hours constant at 950° F., then reduce in gradients, 3hours to 750° F. (−66° F. per hour), then 5 hours to 300° F. (−90° F.per hour), then 4 hours to 100° F. (−50° F. per hour)) (Step 604).Remove hardened glass object from the annealer (Step 605). Grind offbottom layer and top layer of the glass object (Step 606). Polish thebottom and top surfaces of the glass object (Step 607).

In FIG. 6A, step 603 (sending glass to separate annealer) is optional.An advantage of sending the molten glass to a separate annealing chamberis that a new build may begin in the build chamber, without waiting forannealing to be completed. In some cases, the temperature of the buildchamber is ramped up (e.g., from 900° F. to 950° F.) before moving themolten glass object to a separate annealing chamber, in order tocompensate for the thermal loss during the transport from the buildchamber kiln to the separate annealer. Alternatively, the glass may beannealed in the build chamber kiln.

In some implementations, solid glass is fed into the melter kiln, andmelted there. Alternatively, glass may be melted in an external kiln andthen fed, in a molten state, into the melter kiln.

In FIG. 6B, the thermal control steps include: Ramp up kilns to idletemperature (e.g., 1750° F. for melter kiln, 1550° F. for nozzle kiln,and 750° F. for build chamber kiln), before solid glass is put into themelter kiln (Step 611). After glass is put into the melter kiln, ramp upkiln temperatures to print temperature (e.g., 1850° F. for melter kiln,1650° F. for nozzle kiln, and 900° F. for build chamber kiln) (Step612). Turn on ring burner (i.e., gas torch in nozzle assembly) (Step613). Turn off ring burner, before starting flow of molten glass throughthe nozzle (Step 614). After the build is complete, the shear cutter hascut the extruded glass filament, and the print has been removed from thebuild chamber kiln and placed in a separate annealing kiln, turn oncompressed air to cool the nozzle and thus to stop the flow of moltenglass through the nozzle (Step 615). Turn off compressed air, when flowof glass has stopped sufficiently to “freeze” glass at the nozzle (Step616). Ramp down kilns to idle temperature (Step 617).

In FIG. 6C, the motion control steps include: Input 3D Nurbs surface(Step 621). Generate 2D contour curves (Step 622). For each 2D contourcurve: (a) discretize curve; (b) extract list of point coordinates; and(c) for each point coordinate, compute translation and rotation matricesand transform the point coordinate (Step 623). Interpolate Z vector(Step 624). Output list of point coordinates (Step 625). Output list ofrotation angles (Step 626). Generate 4-axis G-code (X, Y, Z and A) (Step627). Save 4-axis G-code (Step 628). Send print bed to home position(Step 629). Run G-code (Step 630). Send print bed to home position (Step631). Cut extruded filament with shear cutter (Step 632)

In FIG. 6A, step 601 occurs in a pre-build stage, steps 602 and 603occur in a build stage, and steps 604-607 occur in a post-build stage.In FIG. 6B, step 611 occurs in a pre-build stage, steps 612-616 occur ina build stage, and step 617 occurs in a post-build stage. In FIG. 6C,steps 621-629 occur in a pre-build stage, and steps 630-632 occur in abuild stage.

FIG. 7 is a flowchart of a method of motion control, in an illustrativeimplementation of this invention. In the example shown in FIG. 7, thesteps include, among other things, the parametric design of the printobject (Step 701) and acceleration management (Step 703). In the secondstep in FIG. 7 (transformation of 3-axis path of print object to 4-axismotion profile of print bed), one or more computers perform calculationsthat ensure that the direction of deposit is constant relative to thenozzle, despite the rotation of the print bed.

This invention is not limited to the motion control shown in FIG. 7. Inillustrative embodiments of this invention, motion control may beperformed in many other ways.

FIGS. 8 and 9 show an example of rotating a print bed to keep thedirection of deposition constant relative to the nozzle. FIG. 8 showsthe print bed's position at an earlier time than FIG. 9 does.

FIGS. 8 and 9 show a nozzle 803 and a top view of a print bed 101. Thenozzle 803 is located above print bed 101

In FIGS. 8 and 9, a box indicates the horizontal boundaries of a 3Dvolume 801 that is stationary relative to the build chamber walls andrelative to a fixed position external to the glass 3D printer. Print bed101 translates and rotates about a vertical axis that intersects theprint bed 101. The translation and rotation of print bed 101 causes theprint bed 101 to change position and angular orientation relative tostationary volume 801. The position and angular orientation of print bed101, relative to stationary volume 801, changes from FIG. 8 to FIG. 9because print bed 101 translates and rotates during the time intervalbetween those two Figures. The angular orientation of the print bed 101(relative to fixed volume 801) changes by more than ninety degreesduring this time interval, as the print bed 101 rotates clockwise (asseen from the perspective of FIGS. 8 and 9) by more than ninety degreesduring this time interval.

In FIGS. 8 and 9, the nozzle 803 is stationary relative to stationaryvolume 801 and relative to a fixed position external to the glass 3Dprinter.

In FIGS. 8 and 9, a viscoelastic filament 807 of molten glass isextruded (e.g., by gravity feed) from stationary nozzle 803 and isdeposited on the print bed 101. As the print bed moves and the filamentis extruded, the filament increases in length. The impact point (i.e.,the point at which the extruded filament descending from the nozzlefirst impacts the print bed or deposited material supported by the printbed) changes position as the print bed moves relative to the nozzle.This impact point moves in a trajectory relative to the print bed(deposition trajectory).

In FIGS. 8 and 9, the direction of deposition at a given time is thehorizontal direction in which the impact point is moving relative to theprint bed at the given time. Put differently, the direction ofdeposition is the horizontal tangent (taken at the impact point) to thedeposition trajectory.

In the example shown in FIGS. 8 and 9, actuators translate and rotatethe print bed, such that the direction of deposition has a constantorientation relative to the stationary nozzle 803. The direction ofdeposition remains constant (or substantially constant) relative tonozzle 803 throughout the time interval that elapses between FIGS. 8 and9, even though print bed 101 translates and rotates during that timeperiod. Arrow 805 is parallel to the instantaneous direction ofdeposition at the instant of time for FIGS. 8 and 9, respectively. Arrow809 is parallel to the instantaneous direction of movement of the printbed 101.

In illustrative implementations, the following are all stationaryrelative to each other during the deposition of molten glass: (i) thenozzle, (ii) the crucible kiln, (iii) the support structure for thecrucible kiln, and (v) a fixed position external to the glass 3Dprinter. Thus, in illustrative implementations, the print bed isrotating such that the deposition direction is constant relative to thenozzle, the crucible kiln, the support structure for the kilns, and afixed position external to the 3D glass printer, respectively.

An advantage of keeping the deposition constant relative to the nozzleis that doing so tends to avoid the large, changing forces that wouldotherwise arise if the direction of deposition (relative to thestationary nozzle) changed.

To understand the advantages of keeping the direction of deposition atthe same angle (relative to the nozzle), it is helpful to see whathappens if this is not done.

FIGS. 10A, 10B, 11A, 11B, 12A, 12B show examples of what happens if (a)the direction of deposition varies relative to the nozzle, and (b) thenozzle is asymmetrical. This is significant, because in practice nozzlesthat print molten glass tend to become asymmetrical due to asymmetricalbuildup of hardened glass on the nozzle.

FIGS. 10A, 11A and 12A show three non-limiting examples of asymmetricalnozzles. Specifically, FIGS. 10A, 11A and 12A show bottom views of: (a)a so-called “smeared” nozzle that is asymmetrical due to hardened glassbuilt up on it; (b) a rectangular nozzle; and (c) a double-orificenozzle, respectively.

As shown in FIGS. 10B, 11B and 12C: If the direction of depositionchanges relative to the nozzle, then asymmetrical nozzles may cause thewidth of deposited filament to vary at different points in thedeposition path. Furthermore, if the direction of deposition changesrelative to the nozzle, then a given region of the filament thatcorresponds to a given region of the nozzle may cross back and forthover the centerline of the deposited filament. Tension lines in theextruded viscoelastic filament extend from the nozzle for a distancealong the deposited filament. As the direction of deposition changesrelative to the nozzle—and thus the width of the filament changes (and,in some cases, regions of the filament cross back and forth over thecenterline of the filament), the filament is subjected to large,changing, tensile and shear forces that tend to damage the filament. Insome cases, the forces are so great that they cause deposited layers ofthe viscoelastic filament to lift and separate from each other, causingcatastrophic print failure.

To solve these problems, in illustrative implementations of thisinvention, the print bed rotates while it translates. The rotation keepsthe direction of deposition constant relative to the stationary nozzle.

FIGS. 13A, 13B, and 13C show examples of keeping the direction ofdeposition at a constant angle relative to a stationary nozzle, inillustrative implementations of this invention. In FIGS. 13A, 13B, 13C,the nozzle is asymmetrical. Specifically, in FIGS. 13A, 13B, 13C, thenozzle has a “smeared” asymmetrical shape, a rectangular shape anddouble-orifice shape, respectively.

FIGS. 13A, 13B, 13C show that a viscoelastic filament deposited in acircular path may have a constant width—if the print bed is rotated tokeep the direction of deposition constant relative to the stationarynozzle. They also show that a given region of the filament thatcorresponds to a given region of an orifice of the nozzle may remain ina constant (cross-sectional) position in the extruded filament—if theprint bed is rotated to keep the direction of deposition constantrelative to the stationary nozzle.

Thus, by rotating the print bed to keep the direction of depositionconstant relative to the stationary nozzle, the changing tensile andshear forces described above may be greatly reduced.

To explain FIGS. 10A to 13C in more detail:

In these Figures (FIGS. 10A to 13C), U, V and W are orthogonal Cartesianaxes in the nozzle's frame of reference. U and V are horizontal axes andW is a vertical axis. X and Y axes are horizontal orthogonal Cartesianaxes in the print bed's frame of reference.

FIGS. 10B, 11B, 12B, 13A, 13B and 13C each show the nozzle (1131, 1132or 1133) and descending portion 1004 of the filament at two differenttimes. At the first time, the descending extruded filament is strikingthe print bed at position 1110. At the second, later time, thedescending filament is striking the print bed at position 1120.

For clarity of illustration, FIGS. 10B, 11B, 12B, 13A, 13B and 13C eachshow the nozzle at two different times at two different points in thepath. Thus, the nozzle appears to move from point to point in thoseFigures. However, in illustrative implementations, the nozzle isactually stationary (relative to a fixed position in the glass 3Dprinter's environment) and the print bed actually moves relative to thenozzle. FIGS. 10A, 11A, and 12A show a bottom view of the nozzle shownin FIGS. 10B, 11B, and 12B, respectively. Likewise, the nozzles 1131,1132 and 1133 in FIGS. 13A, 13B, 13C are the same as those in FIGS. 10A,11A, and 12A, respectively.

FIGS. 10B, 11B, 12B, 13A, 13B and 13C show a top view of a viscoelasticfilament 1001 of molten glass that has been deposited in a circularpattern on a print bed by nozzle 1131, 1332 or 1133.

In FIGS. 10B, 11B, 12B, 13A, 13B and 13C, for ease of illustration: (a)in some cases, axis W appears to be laid on its side; and (b) in somecases, the portion 1004 of the filament that descends from the nozzle tothe print bed appears to be laid horizontally on its side. Actually,however, both axis W and portion 1004 of the filament are verticallyoriented (e.g., axis W is actually perpendicular to the plane of FIGS.10B, 11B, 12B, 13A, 13B and 13C).

In FIGS. 10A and 13A, a smear 1005 of hardened glass has built up onnozzle 1131, causing the shape of the nozzle to be asymmetrical or“smeared”. In FIGS. 11A and 13B, nozzle 1132 has an asymmetrical,rectangular orifice 1107. In FIGS. 12A and 13C, nozzle 1133 has anasymmetrical, double orifice 1109.

In FIGS. 10B, 11B, 12B, the direction of deposit varies, and thus thewidth of the deposited filament varies. For example, in FIGS. 10B, 11B,12B, the width of the filament at position 1110 is b; and the width ofthe filament at position 1120 is a, where b is greater than a.

In FIGS. 13A, 13B, 13C, the direction of deposit is constant relative tothe nozzle, and thus the width of the deposited filament is constantrelative to the nozzle. For example, in FIGS. 13A, 13B, 13C, the widthof the filament at position 1110 is b; and the width of the filament atposition 1120 is a, where b is equal to a.

In FIGS. 10B, 11B, 12B, line 1041 is the trajectory of a region in theextruded filament that was extruded through point 1051 in an orifice ofthe nozzle. Similarly, line 1042 is the trajectory of a region in theextruded filament that was extruded through point 1052 in an orifice ofthe nozzle. In FIGS. 13A, 13B and 13C, line 1043 is the trajectory of aregion in the extruded filament that was extruded through point 1053 inan orifice of the nozzle.

In FIGS. 10B, 11B, 12B, the direction of deposit varies, and thus theposition of trajectories 1041, 1042 varies at different points in thecircular path. Indeed, trajectories 1041, 1042 cross over each othertwice.

In FIGS. 13A, 13B, 13C, the direction of deposit is constant relative tothe nozzle, and thus the position of trajectory 1043 is constant atdifferent points in the circular path.

Software

In illustrative implementations, a computer performs an algorithm totransform coordinates of points in a desired 3D glass geometry (to befabricated) into coordinates of a trajectory of a print bed that movesrelative to a stationary nozzle. For example, printing a simple linefrom left to right involves moving the print bed from right to left.However, the moving print bed also rotates. Thus, the description of acontinuously changing direction of any given path across the geometrythrough the moving print bed is not as simple as inverse transformationof linear motion since it may also involve continuous change of the axisof rotation.

In some implementations, a computer discretizes the continuous curvedomain into a set of finite vector coordinates, then solves the off-axisrotation at each point by devising a coordinate transformation matrixthat multiplies a translation matrix for repositioning the axis ofrotation and a rotation matrix that reorients the print bed along thetangent of the path at each given point. In some implementations, acomputer performs a program to preprocess these iterative coordinatetransformations. This program takes the scalar value discretization stepas its input, allowing the target resolution to be a part of userdefined parameter for later process calibration, while allowing anyarbitrary geometry to be described in a set of motion system native tothe given printer architecture.

In illustrative implementations, thermal control parameters and motioncontrol parameters are integrated through M-codes in G-code via anEthernet/Modbus interface protocol. The glass 3D printer provides macrocommands as a series of M-codes and enables the integration of variousthermal control systems within the motion control workflow. For example,in a prototype of this invention, the macro commands are: M06 shearcutter on; M07 shear cutter off; M08 ring burner on; M09 ring burneroff; M10 compressed air on; M11 compressed air off; M20 update melterkiln set temperature; M21 update melter kiln ramp rate; M30 updatenozzle kiln set temperature; M31 update nozzle kiln ramp rate; M40update annealing kiln set temperature; and M41 update annealing kilnramp rate.

In a prototype of this invention: (a) a Watlow® EZ-zone RM IntegratedController provides input/output via an Ethernet/Modbus protocol; and(b) a microcontroller with an open-source Ethernet/Modbus librarycommunicates with thermal control hardware.

The Computer Program Listing lists fourteen computer program files,which comprise software used in a prototype of this invention. Here is adescription of the software encoded by those fourteen files.

Generally speaking, the first eight computer program files listed beloware C# programs that utilize Rhinoceros® 5.0 software (a Non-UniformRational B-Spline based CAD software) and Grasshopper® 1.0 software (agraphical programming interface that is tightly coupled with thegeometrical and graphical libraries of Rhinoceros®). These first eightprograms, taken together, create, modify, evaluate, and extractparameters for real-time mapping of 3-axis virtual coordinates of theprint geometry to machine coordinates to control the four-axis CNC(computer numerical control) platform. These first eight programs createparametric geometries, transform and map geometries to movements of theprint bed, generate four-axis (x, y, z and rotational) G-code, andcontrol an adaptive feed rate that synchronizes the rotation of theprint bed with the movement of the print bed in three Cartesiandirections (x, y, z). These first eight programs compute machinecoordinates for 4-axis CNC deposition of molten glass at eachincremental step—position coordinates for XYZ-Axis, rotational angle forA-Axis, and feed rate at each step.

These first eight computer program files are the first eight fileslisted in the Computer Program Listing section above. The file nameextensions of these first eight program files, which are C# programs,were changed to .txt in order to submit them electronically to the U.S.Patent and Trademark Office. However, to run these C# programs, theirfile name extensions .txt would be changed to .cs. In a prototype ofthis invention, each of the C# program is embedded within an individualC# component provided by the Grasshopper® 1.0 software and utilized inconjunction with Rhinoceros® 5.0 software.

(1) G3P_V2_Rhino_GH_SurfaceSlicer.txt: This program is a pre-processingworkflow that takes a top down approach with slicing of free-formthree-dimensional geometry along z axis to generate a set of contouringcurves. This program takes input brep (boundary representation) objectand layer height, computes the bounding box of the brep to calculate therequired layer count, and output a list of contour curves.

(2) G3P_V2_Rhino_GH_Bi-TangentArc.txt: This program takes a bottom upapproach. It creates constant radius parametric curves composed of aradial array of arcs and bi-tangent arcs. This enables a direct couplingof a design parameter for the print geometry with a process parameter ofthe 3D printing of molten glass—the minimum turning radius suitable fora given viscosity of the molten glass at a given temperature.

This program generates parametric closed curve with constant inputradius all around with given number of folds by computing radial arrayof arcs and bi-tangent arcs.

This program may be run recursively with an array of input variables.When a single pair of input radius and number of arcs is provided, itreturns a single closed curve of a constant radius with a given numberof folds. When an array of radius and/or an array of the number of arcsare provided, it returns an array of closed curves—making it possible togenerate a series of closed curves that changes local radius of foldsand/or number of folds continuously while ensuring the compliance of theresulting geometries against the process parameter of the 3D printing ofmolten glass.

(3) G3P_V2_Rhino_GH_Bi-TangentArc_with_RotationalBifurcation.txt: Thisprogram allows continuous change in the number of folds in outputcurves. This program takes as inputs a pair of starting and endingangles of rotation and number of required steps to complete thisrotation. This program applies bidirectional rotation of the basearrangement of the radial array of arcs in both clock-wise and counterclock-wise directions, computes the intersections to extract theexterior profiles, and reconnects them with bi-tangent arcs of a giveninput radius to generate a parametric curve with complex folds with aconstant turning radius all around. While the input number of arcs,which equates the resulting number of folds, may take discrete steps ininteger variable, this incremental rotation enables a continuous changein the number of folds. This enables continuous change ofcross-sectional profile in both radius and number of folds.

This program returns a parametric curve with continuous anduninterrupted change in the input/output radius and number of folds, andenables a construction of a three-dimensional body with a vertical arrayof the resulting curves while preserving the continuity in curvatureboth in horizontal plane (with constant radius all across per planercurve) and vertical plane (with continuous change in radius and numberof folds) to comply with the process requirement in the layer-by-layerdeposition of the molten glass.

This program generates parametric closed curve with constant inputradius all around with given number of folds by computing radial arrayof arcs and bi-tangent arcs. Optional input variable for the rotationangle computes bidirectional rotation of the base profile and theirintersections to generate bifurcation of each fold in continuous domain.

This program may be run recursively with an array of input variables.When a single set of input radius, number of arcs, and rotation angle isprovided, it returns a single closed curve of a constant radius with agiven number of folds with optional bifurcation of each fold based onthe rotational angle. When this set of input variables is provided as anarray in continuous domain, it returns an array of closed curves thatchanges in radius and number of folds in continuous domain—making itpossible to construct a three-dimensional body with a vertical array ofthe resulting curves and ensure topological continuity that also meetsthe constraints of the process parameters (minimum turning radius,maximum draft angle, and accountable rate of change of curvature) forthe layer-by-layer deposition of the molten glass.

Motivation for this program: In illustrative implementations,layer-by-layer deposition of molten glass constrains two geometricalvariables: (1) the minimum turning radius in horizontal plane per layerand (2) the maximum draft angle in vertical plane across the layers.Turning sharper than the minimum turning radius would result in thedeformation of the cross-section of the molten glass filament. Exceedingthe maximum drafting angle would result in the lack of adhesion to thesub-layer.

(4) G3P_V2_Rhino_GH_LinearTranslationAlongZ-Axis.txt: This program takesa list of planer curves and evenly distributes them along the Z-axisbased on an input layer height. This program may be run in conjunctionwith the preceding two programs described above(G3P_V2_Rhino_GH_Bi-TangentArc andG3P_V2_Rhino_GH_Bi-TangentArc_with_RotationalBifurcation).

(5) G3P_V2_Rhino_GH_CurveDiscretization.txt: This program takes an inputcurve and discretizes it into a polyline with a given input number ofsegments.

(6) G3P_V2_Rhino_GH_4Axis_Transformation.txt: This program takes a setof input polylines that describe print geometry and remaps each pointcoordinate of a polyline by multiplying a transformation matrix A toeach point such that P1=A×P0, where P0 is the original point coordinateof the polyline, and P1 is the remapped coordinate for the print bed.The transformation matrix A is computed based on the matrixmultiplication of a translation matrix B and rotational matrix C suchthat A=BC. During this transformation, a rotational angle for eachtransformation is stored as a separate variable. This program returnsthree separate lists of variables—a list of remapped point coordinates,a list of rotational angle per transformation, and a list of rotationalvelocity per transformation. These three lists are later used in theprocess of generating four-axis G-code, where each line comprises theXYZ-Axis coordinates of the remapped point that describes the requiredlocation of the central axis and height of the print bed, A-axiscoordinate that describes the rotational angle of the print bed, and thefeed rate value based on the rotational velocity. In order to ensure aconstant feed rate of the print bed with respect to the nozzle, feedrate at each line is compensated proportional to the rotational velocityrequired at each transformation.

This program (G3P_V2_Rhino_GH_4Axis_Transformation) performscalculations that ensure that the direction of deposit is constantrelative to the angular orientation of the nozzle, despite the rotationof the print bed.

(7) G3P_V2_Rhino_GH_Spiral_Interpolation.txt: This program takes a listof closed planer polylines and target layer height between eachpolyline. It remaps each point coordinate of each polyline by linearlyinterpolating the input layer height along the number of segments ineach input polyline and displace its Z-axis coordinate accordingly. Byconnecting the remapped points all together, the program returns asingle continuous polyline in a form of spiral. The resulting spiraldescribes the print geometry in a single continuous path and ensures acontinuous deposition of molten glass along the entire travel length ofthe print.

(8) G3P_V2_Rhino_GH_4Axis_Gcode_Generation.txt: This program takes threelists of variables as its input—a list of point coordinates describingthe target position of the print bed in XYZ-Axis, a list of rotationalangle describing the target rotational angle of the A-Axis, and a listof rotational velocity required to remap the feed rate of the print bedat each step in order to ensure a constant feed rate of the print bedwith respect to the nozzle (at which the molten glass is deposited at aconstant flow rate).

The next four computer program files (listed below) are the ninth, ten,eleventh and twelfth files listed in the Computer Program Listingsection above. The file name extensions of these four program files,which are Javascript® programs, were changed to .txt in order to submitthem electronically to the U.S. Patent and Trademark Office. However, torun these Javascript® programs, their file name extensions .txt would bechanged to .js.

(9)-(12) G3P_V2_Chilipeppr_01.txt; (10) G3P_V2_Chilipeppr_02.txt; (11)G3P_V2_Chilipeppr_03.txt; (12) G3P_V2_Chilipeppr_04.txt: These fourChilipeppr programs provide custom web browser interface that enablesbi-directional communication between Chilipeppr (web browser interfacethat displays, sends, and receives status of each motor), TinyG®(microcontroller that receives signal from Chilipeppr and coordinatesmotion control across all motors, and sends signal to individual motor),and motors (servo motors with embedded encoder that receives signal fromTinyG® and sends feedback signal to Chilipeppr).

The next two computer program files (listed below) are the thirteenthand fourteenth files listed in the Computer Program Listing sectionabove. The file name extensions of these two program files, which areC++ programs, were changed to .txt in order to submit themelectronically to the U.S. Patent and Trademark Office. However, to runthese C++ programs, their names would be changed by replacing _h.txtwith .h and by replacing _cpp.txt with .cpp.

(13)-(14) G3P_V2_Firmware_MotorMonitor_h.txt andG3P_V2_Firmware_MotorMonitor_cpp.txt: These two C++ programs (the headerfile .h and .cpp file) work in tandem. They are uploaded to an externalmicrocontroller (Arduino, in a prototype of this invention) and enablethe bi-directional communication between the motion control userinterface (Chilipeppr, in a prototype of this invention) and each motor(Servo motors with embedded encoders, servo drives, and controllers,ClearPath®, in a prototype of this invention). While incoming signal toeach motor is sent from the motion control user interface (Chilipeppr ina prototype of this invention) via an external motion controller withembedded microcontroller (TinyG®, in a prototype of this invention),outgoing signal from each motor is received by motion control userinterface (Chilipeppr) via a separate microcontroller (e.g., Arduino®).This program allows the external microcontroller to communicate witheach motor in order to retrieve motor's each status such as position,velocity, acceleration, torque, and error count. This enables thefeedback loop between the motion control user interface and each motor,and enables various operations such as homing procedure based on eachmotor's torque and error count feedback, as well as error handlingprocedure based on the comparison between commanded (outgoing) position,velocity, and/or acceleration signal and corresponding receiving(incoming) position, velocity, and/or acceleration signal,

In a prototype of this invention, data flows from a G-code file in acomputer to web browser based motion control user interface with G-codeinterpreter, to an external multi-axis motion controller with G-codeprocessor, to individual motors. A computer controls a GUI (graphicaluser interface) based on Chilipeppr software. The Chilipeppr softwarecommunicates with TinyG®. The TinyG® is a hardware with embeddedmicrocontroller and enables multi-axis motor control. Chilipepprcommunicates with TinyG® via Serial Port JSON Server. The glass 3Dprinter includes additional microprocessors that receive feedbacksignals from each servo motor, in each of the four axes, enable homingcycle without needing external sets of NC/NO based end stop sensors, andenable communication with auxiliary components of the printer includingthe on/off mechanisms for the compressed air, gas burner, and shearcutter.

This invention is not limited to the software described above (includingthe fourteen computer program files in the Computer Program Listing).Other software may be employed. Depending on the particularimplementation, the software used in this invention may vary.

Alternative Implementations

This invention is not limited to the implementations described above.Here are some non-limiting examples of other ways in which thisinvention may be implemented.

In some implementations of this invention, additional M-codes areemployed with a Ethernet/Modbus® interface protocol to automaticallycontrol: (a) motorized feeding of input glass nuggets and frits into amelter kiln; (b) selection of different color glass frits (inconjunction with the continuous feeding system described above); (c)active pressure-regulated rate of flow of molten glass through nozzle;(d) motorized end effector with auger and/or plunger to actuate flow ofmolten glass through nozzle; (e) motorized orifice shape changerattached at the end of the nozzle for dynamically controlling thecross-sectional profile of the glass filament in deposition; and (f)motorized reshaping flap attached at the end of the nozzle fordynamically reshaping the cross-sectional profile of the glass filamentafter deposition.

In some implementations, the print bed rotates about a vertical axisthat intersects a horizontal centroid of the print bed. Alternatively,the print bed may rotate about a vertical axis that intersects adifferent point in the print bed, or may rotate about a vertical axisthat intersects a point that is not located in the print bed.

This invention is not limited to a stationary nozzle. Alternatively, thenozzle may rotate. In those cases, the print bed may translate in x, y,z directions, while the nozzle rotates, in such a manner that thedirection of deposition is constant relative to the angular orientationof the nozzle. For example, the entire nozzle may rotate. Alternatively,the nozzle may include two concentric annular parts, with the outerannular part rotating and the inner annular part being stationary. Therotating, outer annular part may comprise the effective nozzle profile.A motor may actuate rotation of the nozzle via one or more gears anddrive trains. For example, an outer perimeter of the nozzle may comprisea gear that is actuated to rotate, via one or more other gears, by amotor. The motor may be at a distance from the nozzle, and may beprotected by insulation from the heat of the nozzle kiln.

Computers

In illustrative implementations of this invention, one or moreelectronic computers (e.g., servers, network hosts, client computers,integrated circuits, microcontroller, controllers,field-programmable-gate arrays, personal computers, or other onboard orremote computers) are programmed and specially adapted: (1) to controlthe operation of, or interface with, hardware components of a of a CNCfilament deposition system for deposition of molten glass, includingheating systems, motors, other actuators, thermometers, and othersensors; (2) to control translation and rotation of a print bed; (3) toperform any other calculation, computation, program, algorithm, orcomputer function described or implied above; (4) to receive signalsindicative of human input; (5) to output signals for controllingtransducers for outputting information in human perceivable format; and(6) to process data, to perform computations, to execute any algorithmor software, and to control the read or write of data to and from memorydevices (items 1-6 of this sentence referred to herein as the “ComputerTasks”). The one or more computers (e.g. 120, 132, 229) may be in anyposition or positions within or outside of the glass 3D printer. Forexample, in some cases (a) at least one computer is housed in ortogether with other components of the glass 3D printer, such as powersupply hardware, and (b) at least one computer is remote from othercomponents of the glass 3D printer. The one or more computers maycommunicate with each other or with other components of the glass 3Dprinter either: (a) wirelessly, (b) by wired connection, (c) byfiber-optic link, or (d) by a combination of wired, wireless or fiberoptic links.

In exemplary implementations, one or more computers are programmed toperform any and all calculations, computations, programs, algorithms,computer functions and computer tasks described or implied above. Forexample, in some cases: (a) a machine-accessible medium has instructionsencoded thereon that specify steps in a software program; and (b) thecomputer accesses the instructions encoded on the machine-accessiblemedium, in order to determine steps to execute in the program. Inexemplary implementations, the machine-accessible medium comprises atangible non-transitory medium. In some cases, the machine-accessiblemedium comprises (a) a memory unit or (b) an auxiliary memory storagedevice. For example, in some cases, a control unit in a computer fetchesthe instructions from memory.

In illustrative implementations, one or more computers execute programsaccording to instructions encoded in one or more tangible,non-transitory, computer-readable media. For example, in some cases,these instructions comprise instructions for a computer to perform anycalculation, computation, program, algorithm, or computer functiondescribed or implied above. For example, in some cases, instructionsencoded in a tangible, non-transitory, computer-accessible mediumcomprise instructions for a computer to perform the Computer Tasks.

Network Communication

In illustrative implementations of this invention, an electronic device(e.g., 120, 121-127, 132, 229) is configured for wireless or wiredcommunication with other electronic devices in a network.

For example, in some cases, one or more of the electronic devices (e.g.,120, 121-127, 132, 229) each include a wireless communication module forwireless communication with other electronic devices in a network. Eachwireless communication module (e.g., 131) may include (a) one or moreantennas, (b) one or more wireless transceivers, transmitters orreceivers, and (c) signal processing circuitry. Each wirelesscommunication module may receive and transmit data in accordance withone or more wireless standards.

In some cases, one or more of the following hardware components are usedfor network communication: a computer bus, a computer port, networkconnection, network interface device, host adapter, wireless module,wireless card, signal processor, modem, router, computer port, cables orwiring.

In some cases, one or more computers (e.g., 120, 132, 229) areprogrammed for communication over a network. For example, in some cases,one or more computers are programmed for network communication: (a) inaccordance with the Internet Protocol Suite, or (b) in accordance withany other industry standard for communication, including any USBstandard, ethernet standard (e.g., IEEE 802.3), token ring standard(e.g., IEEE 802.5), wireless standard (including IEEE 802.11 (wi-fi),IEEE 802.15 (bluetooth/zigbee), IEEE 802.16, IEEE 802.20 and includingany mobile phone standard, including GSM (global system for mobilecommunications), UMTS (universal mobile telecommunication system), CDMA(code division multiple access, including IS-95, IS-2000, and WCDMA), orLTS (long term evolution)), or other IEEE communication standard.

Definitions

The terms “a” and “an”, when modifying a noun, do not imply that onlyone of the noun exists.

To compute “based on” specified data means to perform a computation thattakes the specified data as an input.

The term “comprise” (and grammatical variations thereof) shall beconstrued as if followed by “without limitation”. If A comprises B, thenA includes B and may include other things.

The term “computer” includes any computational device that performslogical and arithmetic operations. For example, in some cases, a“computer” comprises an electronic computational device, such as anintegrated circuit, a microprocessor, a mobile computing device, alaptop computer, a tablet computer, a personal computer, or a mainframecomputer. In some cases, a “computer” comprises: (a) a centralprocessing unit, (b) an ALU (arithmetic logic unit), (c) a memory unit,and (d) a control unit that controls actions of other components of thecomputer so that encoded steps of a program are executed in a sequence.In some cases, a “computer” also includes peripheral units including anauxiliary memory storage device (e.g., a disk drive or flash memory), orincludes signal processing circuitry. However, a human is not a“computer”, as that term is used herein.

“Defined Term” means a term or phrase that is set forth in quotationmarks in this Definitions section.

“Deposition direction” or “direction of deposition”, at a given time,means the instantaneous horizontal direction in which the impact pointis moving, relative to the print bed, along the deposition trajectory atthe given time. The “deposition direction”, at a given time, is along astraight line, which straight line is the tangent, at the impact pointfor the given time, to the deposition trajectory.

“Deposition trajectory” means the trajectory of the impact pointrelative to the print bed.

For an event to occur “during” a time period, it is not necessary thatthe event occur throughout the entire time period. For example, an eventthat occurs during only a portion of a given time period occurs “during”the given time period.

The term “e.g.” means for example.

The fact that an “example” or multiple examples of something are givendoes not imply that they are the only instances of that thing. Anexample (or a group of examples) is merely a non-exhaustive andnon-limiting illustration.

An “exit orifice” of a nozzle means an orifice through which a fluid orother material exits the nozzle.

A non-limiting example of “extrusion” is flow of molten glass through anozzle, which flow is actuated only by gravitational force.

Unless the context clearly indicates otherwise: (1) a phrase thatincludes “a first” thing and “a second” thing does not imply an order ofthe two things (or that there are only two of the things); and (2) sucha phrase is simply a way of identifying the two things, respectively, sothat they each may be referred to later with specificity (e.g., byreferring to “the first” thing and “the second” thing later). Forexample, unless the context clearly indicates otherwise, if an equationhas a first term and a second term, then the equation may (or may not)have more than two terms, and the first term may occur before or afterthe second term in the equation. A phrase that includes a “third” thing,a “fourth” thing and so on shall be construed in like manner.

“Fixed position” means, in the context of an apparatus that includes aprint bed and a nozzle, a stationary position in a frame of referencethat is fixed relative to points in the ground beneath the apparatus.

“For instance” means for example.

To say a “given” X is simply a way of identifying the X, such that the Xmay be referred to later with specificity. To say a “given” X does notcreate any implication regarding X. For example, to say a “given” X doesnot create any implication that X is a gift, assumption, or known fact.

“Glass material” means a material that comprises, when solid: (a)silicate glass, (b) lead glass, (c) borate glass, (d) phosphate glass,(e) fluoride glass, or (f) chalcogenide glass. As used herein, “glassmaterial” remains glass material, regardless of temperature (e.g., aboveor below glass transition temperature) or phase (e.g., solid or liquid).

Non-limiting examples of a “heating element” include a resistive heatingelement and an inductive heater.

“Herein” means in this document, including text, specification, claims,abstract, and drawings.

“Impact point” means, for a given time: (a) the point in the print bedat which material in a filament extruded from a nozzle is first strikingthe print bed at the given time, or (b) if, at the given time, thefilament is striking material that is supported by the print bed, thepoint in the print bed that is directly vertically below the point atwhich the filament is first striking the material at the given time. Asa deposited filament lengthens and is deposited at different points on aprint bed, the impact point changes position.

As used herein: (1) “implementation” means an implementation of thisinvention; (2) “embodiment” means an embodiment of this invention; (3)“case” means an implementation of this invention; and (4) “use scenario”means a use scenario of this invention.

The term “include” (and grammatical variations thereof) shall beconstrued as if followed by “without limitation”.

A non-limiting example of “layer-by-layer” deposition is to depositflat, separate layers, one on top of another. Another non-limitingexample of “layer-by-layer” deposition is to deposit a filament in aspiral such that different layers of the spiral are all portions of thesame filament. Another non-limiting example of “layer-by-layer”deposition is to deposit a filament such that the filament bends in anon-spiral shape, such that a first portion of the filament rests on asecond portion of the filament, and the second portion of the filamentrests on a third portion of the filament.

As used herein: (a) to say that a glass material is “molten” means thatthe temperature of the glass material is above the glass transitiontemperature of the glass material; and (b) to say that glass is “molten”means that the temperature of the glass is above the glass transitiontemperature of the glass. As used herein: (a) to say that a glassmaterial “melts” means that the glass material undergoes a glasstransition as the temperature of the glass material increases; and (b)to say that glass “melts” means that the glass undergoes a glasstransition as the temperature of the glass increases.

As used herein, “nozzle” means any orifice through which material (suchas molten glass, gas, liquid, fluid, or solid) passes. A nozzle may haveany shape. For example, in some cases, a nozzle may have a shape thatdoes not accelerate material the as the material exits the nozzle.

The term “or” is inclusive, not exclusive. For example, A or B is trueif A is true, or B is true, or both A or B are true. Also, for example,a calculation of A or B means a calculation of A, or a calculation of B,or a calculation of A and B.

A parenthesis is simply to make text easier to read, by indicating agrouping of words. A parenthesis does not mean that the parentheticalmaterial is optional or may be ignored.

The “plane” of a patent drawing (which patent drawing is displayed by apage or screen) means the plane in which the page or screen lies.

“Print bed” means, in the context of a nozzle that extrudes material, asolid component onto which the extruded material is deposited.

To say that an object rotates by at least a given number of degreesduring a period means that the rotation is such that the angularorientation of the object at a first time during the period differs byat least the given number of degrees from the angular orientation of theobject at a second time during the period. To say that an object rotatesby at least a given number of degrees during a period: (a) does notcreate any implication regarding whether rotation is continuous or indiscrete steps; and (b) does not create any implication regardingwhether rotation involves a monotonic change in angle.

As used herein, the term “set” does not include a group with noelements. Mentioning a first set and a second set does not, in and ofitself, create any implication regarding whether or not the first andsecond sets overlap (that is, intersect).

Non-limiting examples of “silicate glass” include fused quartz glass,soda-lime-silica glass, sodium borosilicate glass (including Pyrex®glass), lead-oxide glass, and aluminosilicate glass.

“Some” means one or more.

To say that a deposition direction is “substantially constant” relativeto a nozzle throughout a period means that the angular orientation ofthe deposition direction, relative to the nozzle, does not change bymore than five percent throughout the period.

To say that an object “substantially rotates” during a period means thatthe object rotates by at least fifteen degrees during the period.

The term “such as” means for example.

To say that a machine-readable medium is “transitory” means that themedium is a transitory signal, such as an electromagnetic wave.

“Translation” means movement that is the sum of one or movements alongone or more orthogonal spatial axes.

Except to the extent that the context clearly requires otherwise, ifsteps in a method are described herein, then the method includesvariations in which: (1) steps in the method occur in any order orsequence, including any order or sequence different than that described;(2) any step or steps in the method occurs more than once; (3) any twosteps occur the same number of times or a different number of timesduring the method; (4) any combination of steps in the method is done inparallel or serially; (5) any step in the method is performediteratively; (6) a given step in the method is applied to the same thingeach time that the given step occurs or is applied to different thingseach time that the given step occurs; or (7) the method includes othersteps, in addition to the steps described.

This Definitions section shall, in all cases, control over and overrideany other definition of the Defined Terms. The Applicant or Applicantsare acting as his, her, its or their own lexicographer with respect tothe Defined Terms. For example, the definitions of Defined Terms setforth in this Definitions section override common usage or any externaldictionary. If a given term is explicitly or implicitly defined in thisdocument, then that definition shall be controlling, and shall overrideany definition of the given term arising from any source (e.g., adictionary or common usage) that is external to this document. If thisdocument provides clarification regarding the meaning of a particularterm, then that clarification shall, to the extent applicable, overrideany definition of the given term arising from any source (e.g., adictionary or common usage) that is external to this document. To theextent that any term or phrase is defined or clarified herein, suchdefinition or clarification applies to any grammatical variation of suchterm or phrase, taking into account the difference in grammatical form.For example, the grammatical variations include noun, verb, participle,adjective, and possessive forms, and different declensions, anddifferent tenses.

Variations

This invention may be implemented in many different ways. Here are somenon-limiting examples:

In some implementations, this invention is a method comprising a nozzleextruding molten glass material onto a print bed during a period oftime, such that: (a) the molten glass material is deposited in adeposition direction; (b) the nozzle is stationary relative to a fixedposition throughout the entire period; (c) one or more motors actuatethe print bed such that, during the period (i) the print bed undergoestranslation relative to the fixed position and to the nozzle, and (ii)the print bed undergoes rotation about a point in the print bed; and (d)the deposition direction is substantially constant, relative to thenozzle and to the fixed position, throughout the entire period, eventhough the rotation involves the print bed substantially rotating aboutthe point during the period. In some cases, the extruding is a part of afabrication process for fabricating a 3D object that comprises the glassmaterial. In some cases, the method further comprises a gas torchheating the nozzle after the molten glass material is extruded throughthe nozzle. In some cases, the method further comprisescomputer-controlled shears cutting a filament of glass material extrudedfrom the nozzle. In some cases, the method further comprises compressedair cooling the nozzle, after the shears cut the filament. In somecases, the method further comprises one or more computers transformingcoordinates of points in a virtual model of the 3D object into points ina trajectory of the print bed. Each of the cases described above in thisparagraph is an example of the method described in the first sentence ofthis paragraph, and is also an example of an embodiment of thisinvention that may be combined with other embodiments of this invention.

In some implementations, this invention is a system comprising: (a) aprint bed; (b) a first kiln for heating molten glass material; (c) anozzle for extruding the molten glass material onto the print bed duringa period of time, which nozzle is stationary relative to a fixedposition throughout the entire period; and (d) one or more motors foractuating the print bed such that, during the period (i) the print bedundergoes translation relative to the fixed position and to the nozzle,(ii) the print bed undergoes rotation about a point in the print bed,(iii) the molten glass material is deposited in a deposition direction,and (iv) the deposition direction is substantially constant, relative tothe nozzle and to the fixed position, throughout the entire period, eventhough the rotation involves the print bed substantially rotating aboutthe point during the period. In some cases, the extruding is a part of afabrication process for fabricating a 3D object that comprises the glassmaterial. In some cases, the system further comprises a gas torch forheating the nozzle before the molten glass material is extruded throughthe nozzle. In some cases, the system further comprisescomputer-controlled shears for cutting a filament of glass materialextruded from the nozzle. In some cases, the system further comprisestubing for delivering compressed air to cool the nozzle. In some cases,the system further comprises one or more computers that are programmedto transform coordinates of points in a virtual model of the 3D objectinto points in a trajectory of the print bed. Each of the casesdescribed above in this paragraph is an example of the system describedin the first sentence of this paragraph, and is also an example of anembodiment of this invention that may be combined with other embodimentsof this invention.

In some implementations, this invention is a method comprising a nozzleextruding molten glass material onto a print bed during a period oftime, such that: (a) the molten glass material is deposited in adeposition direction; (b) during the period, one or more motors actuatethe print bed such that the print bed undergoes translation relative toa fixed position and to the nozzle; and (c) during the period, a motoractuates rotation of at least a portion of the nozzle about a givenpoint in the orifice of the nozzle, such that the deposition directionis substantially constant relative to a reference line throughout theentire period, even though the rotation involves the nozzlesubstantially rotating about the given point during the period; whereinthe reference line is a straight line that intersects the given pointand a point in a wall of the nozzle. In some cases, the extruding is apart of a fabrication process for fabricating a 3D object that comprisesthe glass material. In some cases, the method further comprises a gastorch heating the nozzle after the molten glass material is extrudedthrough the nozzle. In some cases, the method further comprisescomputer-controlled shears cutting a filament of glass material extrudedfrom the nozzle. In some cases, the method further comprises compressedair cooling the nozzle, after the shears cut the filament. In somecases, the method further comprises one or more computers transformingcoordinates of points in a virtual model of the 3D object into points ina trajectory of the print bed. Each of the cases described above in thisparagraph is an example of the method described in the first sentence ofthis paragraph, and is also an example of an embodiment of thisinvention that may be combined with other embodiments of this invention.

In some implementations, this invention is a system comprising: (a) aprint bed; (b) a first kiln for heating molten glass material; (c) anozzle for extruding the molten glass material onto the print bed duringa period of time, such that the molten glass material is deposited in adeposition direction; (d) one or more motors for actuating the print bedsuch that, during the period, the print bed undergoes translationrelative to a fixed position and to the nozzle; and (e) another motorfor actuating rotation of at least a portion of the nozzle about a givenpoint in the orifice of the nozzle, such that the deposition directionis substantially constant relative to a reference line throughout theentire period, even though the rotation involves the nozzlesubstantially rotating about the given point during the period; whereinthe reference line is a straight line that intersects the given pointand a point in a wall of the nozzle. In some cases, the extruding is apart of a fabrication process for fabricating a 3D object that comprisesthe glass material. In some cases, the system further comprises a gastorch for heating the nozzle before the molten glass material isextruded through the nozzle. In some cases, the system further comprisescomputer-controlled shears for cutting a filament of glass materialextruded from the nozzle. In some cases, the system further comprisestubing for delivering compressed air to cool the nozzle. In some cases,the system further comprises one or more computers that are programmedto transform coordinates of points in a virtual model of the 3D objectinto points in a trajectory of the print bed. Each of the casesdescribed above in this paragraph is an example of the system describedin the first sentence of this paragraph, and is also an example of anembodiment of this invention that may be combined with other embodimentsof this invention.

CONCLUSION

The above description (including without limitation any attacheddrawings and figures) describes illustrative implementations of theinvention. However, the invention may be implemented in other ways. Themethods and apparatus which are described above are merely illustrativeapplications of the principles of the invention. Other arrangements,methods, modifications, and substitutions by one of ordinary skill inthe art are therefore also within the scope of the present invention.Numerous modifications may be made by those skilled in the art withoutdeparting from the scope of the invention. Also, this invention includeswithout limitation each combination and permutation of one or more ofthe above-mentioned implementations, embodiments and features.

What is claimed is:
 1. A method comprising a nozzle extruding moltenglass material onto a print bed, wherein: (a) during the extruding, themolten glass material is deposited in a deposition direction; (b) one ormore motors actuate the print bed in such a way that (i) during theextruding, the print bed undergoes a translation relative to the nozzle,which translation has an x-component and a v-component, the x-componentbeing movement in a direction parallel to an x-axis, the y-componentbeing movement in a direction parallel to a y-axis, and the x- andy-axes being perpendicular to each other, and (ii) during thetranslation, the print bed substantially rotates about an axis that isparallel to a z-axis and that intersects a point in the print bed, thez-axis being perpendicular to the x-axis and to the y-axis; (c) thedeposition direction is substantially constant relative to the nozzlethroughout the entire translation; and (d) the nozzle is stationaryrelative to a fixed position throughout the entire translation.
 2. Themethod of claim 1, wherein: (a) the molten glass material is depositedat impact points in a deposition trajectory; and (b) the depositiontrajectory has multiple inflection points.
 3. The method of claim 1,further comprising a gas torch heating the nozzle in such a way that theheating melts glass material that has built up on an exterior surface ofthe nozzle.
 4. The method of claim 1, wherein: (a) the speed of thenozzle relative to the print bed is constant throughout the entiretranslation; and (b) the angular velocity of the print bed varies duringthe translation.
 5. The method of claim 1, wherein: (a) during thetranslation, the molten glass material is deposited at impact points ina deposition trajectory; and (b) the deposition trajectory has anoverall shape that is neither a circle, nor a spiral, nor an involute ofa circle, nor a segment of a straight line, nor a portion of a circle,nor a portion of a spiral, nor a portion of an involute of a circle. 6.The method of claim 1, wherein: (a) the extruding fabricates a 3Dobject; and (b) the method further comprises one or more computerstransforming coordinates of points in a virtual model of the 3D objectinto points in a trajectory of the print bed.
 7. A system comprising:(a) a print bed; (b) a first kiln that is configured to heat moltenglass material; (c) a nozzle that is configured to extrude the moltenglass material onto the print bed during a period of time, which nozzleis stationary relative to a fixed position throughout the entire period;and (d) one or more motors that are configured to actuate the print bedin such a way that (i) while the molten glass material is beingextruded, the print bed undergoes a translation relative to the fixedposition and to the nozzle, which translation has an x-component and ay-component, the x-component being movement in a direction parallel toan x-axis, the y-component being movement in a direction parallel to ay-axis, and the x- and y-axes being perpendicular to each other, and(ii) during the translation, the print bed substantially rotates aboutan axis that is parallel to a z-axis and that intersects a point in theprint bed, the z-axis being perpendicular to the x-axis and to they-axis, (iii) during the translation, the molten glass material isdeposited in a deposition direction, and (iv) the deposition directionis substantially constant relative to the nozzle throughout the entiretranslation.
 8. The system of claim 7, wherein: (a) the molten glassmaterial that is deposited has a deposition trajectory; and (b) thedeposition trajectory has multiple inflection points.
 9. The system ofclaim 7, further comprising a gas torch that is configured to heat thenozzle to a sufficiently high temperature to melt glass material thathas built up on an exterior surface of the nozzle.
 10. The system ofclaim 7, wherein the one or motors are configured to actuate the printbed in such a way that: (a) the speed of the nozzle relative to theprint bed is constant throughout the entire translation; and (b) theangular velocity of the print bed varies during the translation.
 11. Thesystem of claim 7, wherein: (a) during the translation, the molten glassmaterial is deposited at impact points in a deposition trajectory; and(b) the deposition trajectory, as a whole, has a shape that is neither acircle, nor a spiral, nor an involute of a circle, nor a segment of astraight line, nor a portion of a circle, nor a portion of a spiral, nora portion of an involute of a circle.
 12. The system of claim 7,wherein: (a) the extruding fabricates a 3D object; and (b) the systemfurther comprises one or more computers that are programmed to transformcoordinates of points in a virtual model of the 3D object into points ina trajectory of the print bed.
 13. The method of claim 1, wherein: (a)the translation of the print bed has an instantaneous direction,relative to the nozzle, at any given instant during the translation; and(b) the instantaneous direction is not constant throughout the entiretranslation.
 14. The method of claim 1, wherein: (a) the molten glassmaterial that is deposited during the translation comprises aviscoelastic filament; and (b) after the filament is deposited, thefilament has a constant width, such that the width is identical atdifferent spatial points along the filament.
 15. The method of claim 1,wherein: (a) the molten glass material that is deposited during thetranslation comprises a viscoelastic filament; and (b) after thefilament is deposited, a cross-sectional region of the filament (i)corresponds to a particular region of an orifice of the nozzle, and (ii)is in a constant cross-sectional position of the filament, in differentcross-sections of the filament.
 16. The method of claim 2, wherein thespeed of the nozzle relative to the print bed is constant throughout theentire translation.
 17. The system of claim 7, wherein: (a) thetranslation of the print bed has an instantaneous direction, relative tothe nozzle, at any given instant during the translation; and (b) theinstantaneous direction is not constant throughout the entiretranslation.
 18. The system of claim 7, wherein: (a) the molten glassmaterial that is deposited during the translation comprises aviscoelastic filament; and (b) after the filament is deposited, thefilament has a constant width, such that the width is identical atdifferent spatial points along the filament.
 19. The system of claim 7,wherein: (a) the molten glass material that is deposited during thetranslation comprises a viscoelastic filament; and (b) after thefilament is deposited, a cross-sectional region of the filament (i)corresponds to a particular region of an orifice of the nozzle, and (ii)is in a constant cross-sectional position of the filament, in differentcross-sections of the filament.
 20. The system of claim 8, wherein thespeed of the nozzle relative to the print bed is constant throughout theentire translation.